<template>
	<view class="publishProduct">
		<u-form :model="form" ref="form1" class="formBox">
			<!-- 商品规格 商品品牌 -->
			<view class="formBox1 formTop">

				<view class="f28 c3d">
					商品标题 <text class="error ml8">*</text>
				</view>
				<u-form-item label=" " prop="name">
					<view class="ml12 flex1">
						<u-input v-model="form.name" placeholder="建议填写商品的名称、卖点等信息，标题尽量简洁" />
					</view>
				</u-form-item>
				<u-form-item label=" " prop="select1">
					<view class="f28 c3d wsn">
						商品类目 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input v-model="selectList.current1.label" type="select" placeholder="请选择商品类目"
								@click="btnInputSelect(1)" />
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="select2">
					<view class="f28 c3d wsn">
						商品子类目 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24 ">
							<u-input @click="btnInputSelect(2)" v-model="selectList.current2.label" type="select"
								placeholder="请选择子类目" />
						</view>
					</view>
				</u-form-item>

				<u-form-item label=" " prop="" v-for="(item,index) in getAttributeData" :key="index">
					<view class="f28 c3d wsn">
						{{item.name}} <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24 ">
							<u-input @click="btnInputSelect(9,index)" v-model="selectList.current9[index-0].label"
								type="select" :placeholder="'请选择'+item.name" />
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="select3">
					<view class="f28 c3d wsn">
						商品品牌 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24 flex">
							<view class="selectInput">
								<view class="flex selectInputBox">
									<u-input class="flex1 input" border placeholder="请搜索商品品牌"
										v-model="selectList.current3.label"></u-input>
									<u-button type="primary" class="ml20 btn" @click="btnInputSelect(3)">搜索</u-button>
								</view>
							</view>
							<view class="selectInputName">

								<u-input @click="btnInputSelect(3)" v-model="selectList.current3.label" type="select"
									placeholder="" />
							</view>
						</view>

					</view>
				</u-form-item>
				<view class="flexRight mb12">
					<view class="sqpp" @click="btns('sqpp')">
						申请品牌
					</view>
				</view>
				<u-form-item label=" " prop="select3">
					<view class="f28 c3d wsn">
						商品是否可以可以秒送 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24 flex">
							<view class="selectInput">
								<view class=" tar">
									<u-switch v-model="form.is_send"></u-switch>
								</view>
							</view>
						</view>

					</view>
				</u-form-item>
				<view class="f28 c3d mt20">
					服务列表 <text class="error ml8"></text>
				</view>
				<u-form-item label=" " prop="">
					<view class="flex1">
						<u-checkbox-group v-model="checkboxData">
							<u-checkbox v-model="item.checked" v-for="(item, index) in checkboxList" :key="index"
								:name="item.id">{{item.name}}</u-checkbox>
						</u-checkbox-group>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="select4">
					<view class="f28 c3d wsn">
						商品规格 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input @click="btnInputSelect(4)" v-model="selectList.current4.label" type="select"
								placeholder="请选择商品规格" />
						</view>
					</view>
				</u-form-item>
				<u-collapse v-if="listSxNewShow">
					<u-collapse-item>
						<template v-slot:title>
							<view class="flex_sb collapseslot info">
								<view class="f24 ml24">
									商品规格详情：
								</view>
								<view class="f24">
									查看全部
								</view>
							</view>
						</template>
						<view class="forBox11 content">
							<view class="forBox2" v-for="(item,index) in listSxNew" :key="index">
								<view class="flex_start">
									<image class="images" :src="$wanlshop.oss(item.image)" mode="">
									</image>
									<view class="flex flex1 flex_warp">
										<view class="ml20 mb12 item1Name" v-for="(item1,index1) in item.name.split(' ')"
											:key="index1">
											{{item1}}
										</view>
									</view>

								</view>
								<view class="flex_sb mt16 inputsBorder">
									<view class="flex_y_center w50 mr12 ">
										<view class="info">
											原价￥
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.market_price" placeholder="请输入成本价" />
										</view>
									</view>
									<view class="flex_y_center w50 ml12">
										<view class="info">
											现价￥
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.price" placeholder="请输入原价" />
										</view>
									</view>
								</view>
								<view class="flex_sb mt16 inputsBorder">
									<view class="flex_y_center w50 mr12 ">
										<view class="info">
											工匠价￥
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.worker_price" placeholder="请输入成本价" />
										</view>
									</view>
									<view class="flex_y_center w50 ml12">
										<view class="info">
											代理商价￥
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.franchisee_price"
												placeholder="请输入代理商价" />
										</view>
									</view>
								</view>
								<view class="flex_sb mt16 inputsBorder">
									<view class="flex_y_center w50 mr12 ">
										<view class="info">
											成本价￥
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.cost_price" placeholder="请输入代理商价" />
										</view>
									</view>
									<view class="flex_y_center w50 ml12">
										<view class="info">
											库存
										</view>
										<view class="ml8 flex1">
											<u-input type="digit" v-model="item.stocks" placeholder="请输入代理商价" />
										</view>
									</view>
								</view>

								<view class="flex_sb mt16 inputsBorder">
									<view class="flex_y_center">
										<view class="info">
											代理商可否购买
										</view>
										<view class="ml12">
											<u-radio-group v-model="item.is_shop_sku">
												<view class="flex h76">
													<u-radio :name="1">
														是
													</u-radio>
													<u-radio :name="0">
														否
													</u-radio>
												</view>
											</u-radio-group>

										</view>
									</view>

								</view>
							</view>
						</view>


					</u-collapse-item>
				</u-collapse>
			</view>



			<!-- 商品主图 -->
			<view class="formBox1 formImg mt20">
				<u-form-item label=" " prop="img1">
					<view class="">
						<view class="f28 c3d wsn w100">
							商品主图 <text class="error ml8">*</text>(最多1张)
						</view>
						<!--图片-->
						<view class="show-box" v-if='form.img1'>
							<image class="full imgs" :src="$wanlshop.oss(form.img1)" @tap="previewImage(item)" mode="">
							</image>
							<view class="delect-icon" @click="delectImg(0,'img1')">
								<image class="full" :src="clearIcon" mode=""></image>
							</view>
						</view>
						<view v-if='!form.img1' @tap="chooseImages('img1',1)" class="mb16 box-mode">
							<image class="full" :src="selectfile" mode=""></image>
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="img2">
					<view class="">
						<view class="f28 c3d wsn w100">
							商品相册 <text class="error ml8">*</text>(最多9张)
						</view>
						<view class="flex  imgBox">
							<view class="show-box" v-for="(item,index) in form.img2" :key="index">
								<image class="full imgs" :src="$wanlshop.oss(item)" @tap="previewImage(item)" mode="">
								</image>
								<view class="delect-icon" @click="delectImg(index,'img2')">
									<image class="full" :src="clearIcon" mode=""></image>
								</view>
							</view>
							<view v-if='form.img2.length <= 9' @tap="chooseImages('img2',9)" class="mb16 box-mode">
								<image class="full" :src="selectfile" mode=""></image>
							</view>
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="description">
					<view class="f28 c3d wsn">
						商品描述 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input v-model="form.description" placeholder="请输入商品描述" />
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="content">
					<view class="w100">
						<view class="f28 c3d wsn w100">
							商品详情
						</view>
						<!-- <view class="flex1">
							<u-input class="inputtextarea" type="textarea" v-model="form.content" auto-height
								placeholder="请输入商品详情" />
						</view> -->
						<view class="container">
							<view class="page-body">
								<view class='wrapper'>
									<view class='toolbar' @tap="format" style="overflow-y: auto;">
										<view :class="formats.bold ? 'ql-active' : ''" class="iconfont icon-zitijiacu"
											data-name="bold">
										</view>
										<view :class="formats.italic ? 'ql-active' : ''" class="iconfont icon-zitixieti"
											data-name="italic">
										</view>
										<view :class="formats.underline ? 'ql-active' : ''"
											class="iconfont icon-zitixiahuaxian" data-name="underline"></view>
										<view :class="formats.strike ? 'ql-active' : ''"
											class="iconfont icon-zitishanchuxian" data-name="strike"></view>
										<!-- #ifndef MP-BAIDU -->
										<view :class="formats.align === 'left' ? 'ql-active' : ''"
											class="iconfont icon-zuoduiqi" data-name="align" data-value="left"></view>
										<!-- #endif -->
										<view :class="formats.align === 'center' ? 'ql-active' : ''"
											class="iconfont icon-juzhongduiqi" data-name="align" data-value="center">
										</view>
										<view :class="formats.align === 'right' ? 'ql-active' : ''"
											class="iconfont icon-youduiqi" data-name="align" data-value="right"></view>
										<view :class="formats.align === 'justify' ? 'ql-active' : ''"
											class="iconfont icon-zuoyouduiqi" data-name="align" data-value="justify">
										</view>
										<!-- #ifndef MP-BAIDU -->
										<view :class="formats.lineHeight ? 'ql-active' : ''"
											class="iconfont icon-line-height" data-name="lineHeight" data-value="2">
										</view>
										<view :class="formats.letterSpacing ? 'ql-active' : ''"
											class="iconfont icon-Character-Spacing" data-name="letterSpacing"
											data-value="2em"></view>
										<view :class="formats.marginTop ? 'ql-active' : ''"
											class="iconfont icon-722bianjiqi_duanqianju" data-name="marginTop"
											data-value="20px"></view>
										<view :class="formats.marginBottom ? 'ql-active' : ''"
											class="iconfont icon-723bianjiqi_duanhouju" data-name="marginBottom"
											data-value="20px"></view>
										<!-- #endif -->

										<view class="iconfont icon-clearedformat" @tap="removeFormat"></view>

										<!-- #ifndef MP-BAIDU -->
										<view :class="formats.fontFamily ? 'ql-active' : ''" class="iconfont icon-font"
											data-name="fontFamily" data-value="Pacifico"></view>
										<view :class="formats.fontSize === '24px' ? 'ql-active' : ''"
											class="iconfont icon-fontsize" data-name="fontSize" data-value="24px">
										</view>
										<!-- #endif -->
										<view :class="formats.color === '#0000ff' ? 'ql-active' : ''"
											class="iconfont icon-text_color" data-name="color" data-value="#0000ff">
										</view>
										<view :class="formats.backgroundColor === '#00ff00' ? 'ql-active' : ''"
											class="iconfont icon-fontbgcolor" data-name="backgroundColor"
											data-value="#00ff00"></view>
										<view class="iconfont icon-date" @tap="insertDate"></view>
										<view class="iconfont icon--checklist" data-name="list" data-value="check">
										</view>
										<view :class="formats.list === 'ordered' ? 'ql-active' : ''"
											class="iconfont icon-youxupailie" data-name="list" data-value="ordered">
										</view>
										<view :class="formats.list === 'bullet' ? 'ql-active' : ''"
											class="iconfont icon-wuxupailie" data-name="list" data-value="bullet">
										</view>

										<view class="iconfont icon-undo" @tap="undo"></view>
										<view class="iconfont icon-redo" @tap="redo"></view>

										<view class="iconfont icon-outdent" data-name="indent" data-value="-1"></view>
										<view class="iconfont icon-indent" data-name="indent" data-value="+1"></view>
										<view class="iconfont icon-fengexian" @tap="insertDivider"></view>
										<view class="iconfont icon-charutupian" @tap="chooseImages('img9',9)"></view>
										<view :class="formats.header === 1 ? 'ql-active' : ''"
											class="iconfont icon-format-header-1" data-name="header" :data-value="1">
										</view>
										<view :class="formats.script === 'sub' ? 'ql-active' : ''"
											class="iconfont icon-zitixiabiao" data-name="script" data-value="sub">
										</view>
										<view :class="formats.script === 'super' ? 'ql-active' : ''"
											class="iconfont icon-zitishangbiao" data-name="script" data-value="super">
										</view>

										<view class="iconfont icon-shanchu" @tap="clear"></view>

										<view :class="formats.direction === 'rtl' ? 'ql-active' : ''"
											class="iconfont icon-direction-rtl" data-name="direction" data-value="rtl">
										</view>
									</view>

									<view class="editor-wrapper">
										<editor @blur="setValue" id="editor" class="ql-container" placeholder="店铺介绍..."
											show-img-size show-img-toolbar show-img-resize :auto-focus="false"
											ref="myEditor" @statuschange="onStatusChange" :read-only="readOnly"
											@ready="onEditorReady">
										</editor>
									</view>
								</view>
							</view>

						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="">
					<view class="f28 c3d wsn">
						店铺中分类
					</view>
					<view class="flex1">
						<view class="ml24 flex">
							<view class="selectInput">
								<view class="flex selectInputBox">
									<u-input class="flex1 input" border placeholder="请选择店铺中分类"
										v-model="selectList.current5.label"></u-input>
									<u-button type="primary" class="ml20 btn" @click="btnInputSelect(5)">搜索</u-button>
								</view>
							</view>
							<view class="selectInputName">
								<u-input @click="btnInputSelect(5)" v-model="selectList.current5.label" type="select"
									placeholder="" />
							</view>

						</view>

					</view>
				</u-form-item>
				<view class="flexRight pb32">
					<view class="sqpp" @click="btns('xjfl')">
						新建分类
					</view>
				</view>
			</view>
			<!-- 库存计算方式 -->
			<view class="formBox1 formImg mt20">
				<u-form-item label=" " prop="select6">
					<view class="f28 c3d wsn">
						库存计算方式 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input @click="btnInputSelect(6)" v-model="selectList.current6.label" type="select"
								placeholder="请选择库存计算方式" />
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="select7">
					<view class="f28 c3d wsn">
						运费模板 <text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input @click="btnInputSelect(7)" v-model="selectList.current7.label" type="select"
								placeholder="请选择运费模板" />
						</view>
					</view>
				</u-form-item>
				<view class="flexRight pb32">
					<view class="sqpp" @click="btns('xjmb')">
						新建模板
					</view>
				</view>
			</view>
			<!-- 搬运费信息 -->
			<view class="formBox1 formImg mt20">


				<u-form-item label=" " prop="">
					<view class="f28 c3d">
						搬运费信息
					</view>
				</u-form-item>
				<u-form-item label=" " prop="dt">
					<view class="f28 c3d wsn">
						电梯
						<text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input v-model="form.dt" type="digit" placeholder="请输入电梯费用(元)" />
						</view>
					</view>
				</u-form-item>
				<u-form-item label=" " prop="lt">
					<view class="f28 c3d wsn">
						楼梯
						<text class="error ml8">*</text>
					</view>
					<view class="flex1">
						<view class="ml24">
							<u-input v-model="form.lt" type="digit" placeholder="请输入电梯费用(元)" />
						</view>
					</view>
				</u-form-item>
			</view>
			<!-- 上架状态 -->
			<view class="formBox1 formImg mt20">
				<u-form-item label=" " prop="">
					<view class="f28 c3d wsn ">
						上架状态
						<text class="error ml8">*</text>
					</view>
					<view class="flex1 ml24">
						<u-radio-group v-model="form.radio">
							<u-radio :name='0'>申请上架</u-radio>
							<!-- <u-radio name='1'>放入下架库</u-radio> -->
						</u-radio-group>
					</view>
				</u-form-item>
			</view>
		</u-form>

		<u-select :mask-close-able='false' child-name='childlist' :mode='selectList.mode' value-name='id'
			label-name='name' ref="refSelect" v-model="selectList.show" :list="selectList.list" @confirm="onSelect"
			class="selectBox">
		</u-select>
		<view class="btnSub mt20">
			<button class="btn" @click="submit" :loading="btnLoading">提交</button>
		</view>
		<u-popup v-model="selectList.current7.show" mode="bottom">
			<view class="flex_sb pt20 pl32 pr32">
				<view class="info" @click="selectList.current7.show = false">
					取消
				</view>
				<view class="primary" @click="selectList.current7.show = false">
					确定
				</view>
			</view>
			<view class="popupFare">
				<view class="flex selectInputBox">
					<u-input class="flex1 input" border placeholder="筛选" v-model="selectList.input"></u-input>
					<u-button type="primary" class="ml20 btn"
						@click="btnInputSelect(selectList.selectIndex)">搜索</u-button>
				</view>
				<view class="mt20 checkboxGroupBox">
					<!-- selectList.list -->
					<u-checkbox-group max="1" v-model="form.select7" @change="checkboxGroupChange">
						<u-checkbox v-for="(item, index) in selectList.list" v-model="item.checked" :key="index"
							:name="item.id">
							<view class="">
								{{item.name}}
							</view>
						</u-checkbox>
					</u-checkbox-group>
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				checkboxData: [],
				checkboxList: [],
				formats: {},
				btnLoading: false,
				listSxNewShow: false,
				// 筛选数组数据
				selectList: {
					// "single-column"-单列模式，"mutil-column"-多列模式，"mutil-column-auto"-多列联动模式
					mode: '',
					selectIndex: '',
					list: [{
						value: 1,
						label: '男',
					}],
					input: '',
					current1: {},
					current2: {},
					current3: {
						label: ''
					},
					current4: {},
					current5: {},
					current6: {},
					current7: {
						show: false,
					},
					current9: [{
						label: ''
					}, {
						label: ''
					}],
					show: false,
				},
				// 表单数据
				form: {
					servers_id: '',
					is_send: false,
					content: '',
					name: '',
					select1: '',
					select2: '',
					select3: '',
					select4: '',
					select5: '',
					select6: '',
					select7: [],
					select9: [],
					img1: '',
					img2: [],
					dt: '',
					lt: '',
					description: '',
					radio: 0,
				},
				// 校验
				rules: {
					name: [{
						required: true,
						message: '请填写商品标题',
						trigger: ['change', 'blur'],
					}],
					select1: [{
						required: true,
						message: '请选择商品类目',
					}],
					select2: [{
						required: true,
						message: '请选择商品子类目',
					}],
					select3: [{
						required: true,
						message: '请选择商品品牌',
					}],
					select4: [{
						required: true,
						message: '请选择商品规格',
					}],
					select5: [{
						required: true,
						message: '请选择店铺分类',
					}],
					select6: [{
						required: true,
						message: '请选择库存计算方式',
					}],
					select7: [{
						required: true,
						message: '请选择运费模板',
					}],
					img1: [{
						required: true,
						message: '请上传商品主图',
					}],
					img2: [{
						required: true,
						message: '请上传商品相册',

					}],
					description: [{
						required: true,
						message: '请输入商品描述',
						trigger: ['change', 'blur'],
					}],

					dt: [{
						required: true,
						message: '请输入电梯搬运费用',
						trigger: ['change', 'blur'],
					}],
					lt: [{
						required: true,
						message: '请输入楼梯搬运费用',
						trigger: ['change', 'blur'],
					}],
				},
				// 上传图片
				uploadurl: null,
				multipart: null,
				clearIcon: 'https://img.aibbyp.com/wechat/images/nHome/close.png',
				selectfile: 'https://img.aibbyp.com/wechat/images/nHome/tpsc.png',
				imageList: [],
				listSxNew: [],
				listSx: [],
				listSxC: [],
				readOnly: false,
				editorCtx: null,
				editId: '',
				editIdCopy: '',
				sku_id: [],
				getAttributeData: [],
				getAttributeIndex: null,
			}
		},
		onLoad(options) {
			console.log(options);
			if (options.id) {
				// 编辑
				this.getProductDetail(options.id)
				this.editId = options.id
			} else if (options.copyid) {
				// 复制
				this.getProductDetail(options.copyid)
				this.editIdCopy = options.copyid
			} else {
				this.getserverList()
			}
			this.getMultipart() // 获取上传限制
			this.$nextTick(() => {
			})
		},
		onShow() {
			this.$nextTick(() => {
				if (this.listSxNew.length != 0) {
					this.listSxNewShow = true
					console.log(this.listSxNew);
					console.log(this.listSx);

					if (this.listSxNew.length != 0 && this.listSx != 0) {
						this.selectList.current4.label = '已选择'
						this.form.select4 = '已选择'
					} else {
						this.selectList.current4.label = ''
						this.form.select4 = ''
					}
				}
			})
		},
		onReady() {
			this.$refs.form1.setRules(this.rules);
		},
		methods: {
			// 获取服务列表

			getserverList() {
				this.$api.post({
					url: '/store.product/serverList',
					success: res => {
						console.log(res);
						res.forEach(a => {
							a.checked = false
							for (let i in this.checkboxData) {
								if (this.checkboxData[i] == a.id) {
									a.checked = true
								}
							}
						})

						this.checkboxList = res
					}
				})
			},
			// 运费模板 多选
			checkboxGroupChange(event) {
				if (event.length != 0) {

					let names = []
					for (let k of event) {
						for (let i in this.selectList.list) {
							if (k == this.selectList.list[i].id) {
								names.push(this.selectList.list[i].name)
							}
						}
					}
					this.selectList.current7.label = names.join(',')
				} else {
					this.selectList.current7.label = ''
				}
			},
			// 编辑 获取详情
			getProductDetail(id) {
				uni.showLoading({
					title: '加载中...'
				})
				this.$api.post({
					url: '/store.product/productDetail',
					data: {
						id: id
					},
					success: res => {
						console.log('详情数据：', res);

						let goods = res.goods

						if (this.editIdCopy) {
							goods.content = goods.content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, (match,
								capture) => {
								var img =
									`<img style="display: block; max-width: 100%;" src="${this.$wanlshop.oss(capture, 500, 0)}">`;
								return img;
							});
						}
						this.checkboxData = goods.servers_id.split(',').map(Number);
						this.form.servers_id = goods.servers_id
						this.form.is_send = goods.is_send == 1 ? true : false
						this.form.name = goods.title
						this.form.select1 = goods.p_category_id //类目
						this.form.select2 = goods.category_id //子类目
						this.selectList.current1.label = goods.p_category_text //类目
						this.selectList.current2.label = goods.category_text //子类目
						this.form.select3 = goods.brand_id //品牌
						this.selectList.current3.label = goods.brand_text
						this.form.select4 = '已选择' //商品规格
						this.selectList.current4.label = '已选择'
						this.form.img1 = goods.image
						this.form.img2 = goods.images.split(',')
						this.form.description = goods.description
						this.form.content = goods.content
						this.form.select5 = goods.shop_category_id //店铺分类
						this.selectList.current5.label = goods.shop_category_text ? goods.shop_category_text
							.map(a => a.name).join(',') : '';
						this.form.select6 = goods.stock //库存计算
						this.selectList.current6.label = goods.stock_text;
						if (goods.freight_id == '') {
							this.form.select7 = ''
						} else {
							this.form.select7 = [goods.freight_id]; //运费模板
						}
						if (goods.category_attribute) {
							this.form.select9 = goods.category_attribute
							this.getAttribute(goods.category_id, 'edit')

						}
						this.selectList.current7.label = goods.freights_text ? goods.freights_text.map(a => a
							.name).join(',') : '';
						console.log(11);
						this.form.dt = goods.transport_price[0]; //运费模板
						this.form.lt = goods.transport_price[1]; //运费模板
						uni.createSelectorQuery().select('#editor').context((res1) => {
							this.form.content = res1.context
							this.form.content.setContents({
								html: goods.content,
							})
						}).exec()
						this.listSx = []
						this.listSxC = []
						for (let i1 in res.spu) {
							this.listSx.push({
								name: res.spu[i1],
								sonList: []
							})
							for (let i2 in res.spuItem[i1]) {
								console.log();
								this.listSx[i1].sonList.push({
									name: res.spuItem[i1][i2],
									placeholder: '',
								})

							}
							console.log('--', this.listSx);

						}

						for (let i in res.skuItem) {
							res.skuItem[i].name = i.replace(',', ' ')
					
							res.skuItem[i].stocks = res.skuItem[i].stock
							res.skuItem[i].image = res.skuItem[i].thumbnail
							this.sku_id.push(res.skuItem[i].id)
							this.listSxNew.push(res.skuItem[i])
						}

						console.log(this.listSxNew);
						this.listSxNewShow = true
						this.getserverList()
						uni.hideLoading()
					},
					fail: res => {
						uni.hideLoading()
					}
				})
			},
			// 递归删除没用的数据
			funRecursion(data, type) {
				if (type == 'lm') {
					data.forEach(res => {
						if (res.childlist[0]) {
							this.funRecursion(res.childlist, 'lm')
						} else {
							delete res.childlist
						}
					})
					uni.hideLoading()
					return data
				}
			},

			// 获取商品品牌
			getbrandList() {
				uni.showLoading({
					title: '加载中'
				})
				this.$api.get({
					url: '/store.product/brandList',
					data: {
						page: 1,
						limit: 9999,
						name: this.selectList.current3.label
					},
					success: res => {

						this.selectList.show = false
						this.selectList.mode = 'single-column'
						this.selectList.list = res.data
						setTimeout(() => {
							this.selectList.show = true
						}, 1000)
						uni.hideLoading()
					},
					fail: res => {
						uni.hideLoading()
					}

				})

			},
			// 获取类目
			getChannelList() {
				uni.showLoading({
					title: '加载中'
				})
				this.$api.get({
					url: '/store.product/channelList',
					data: {
						name: this.selectList.input
					},
					success: res => {
						this.selectList.mode = 'mutil-column-auto'
						this.selectList.list = this.funRecursion(res, 'lm')
						this.selectList.show = true
					},
					fail: res => {
						uni.hideLoading()
					}

				})
			},
			// 运费列表
			getFreightList() {
				uni.showLoading({
					title: '加载中'
				})
				this.$api.get({
					url: '/store.Logistics/freightList',
					data: {
						page: 1,
						limit: 9999,
						name: this.selectList.input
					},
					success: res => {
						res.data.forEach(a => {
							a.checked = false
						})
						this.form.select7 = []
						this.selectList.list = res.data
						uni.hideLoading()
					},
					fail: res => {
						uni.hideLoading()
					}

				})
			},
			// 库存计算方式
			getStockList() {
				uni.showLoading({
					title: '加载中'
				})
				this.$api.get({
					url: '/store.product/getStockList',
					success: res => {
						let data = [{
							name: res.payment,
							id: 'payment'
						}, {
							name: res.porder,
							id: 'porder'
						}, ]
						this.selectList.mode = 'single-column'
						this.selectList.list = data
						this.selectList.show = true
						uni.hideLoading()
					},
					fail: res => {
						uni.hideLoading()
					}

				})

			},
			// 店铺中的分类
			getStoreCate() {
				uni.showLoading({
					title: '加载中'
				})
				this.$api.get({
					url: '/store.product/storeCate',
					data: {
						name: this.selectList.current5.label
					},
					success: res => {
						this.selectList.mode = 'single-column'
						this.selectList.list = res
						this.selectList.show = true
						uni.hideLoading()
					},
					fail: res => {
						uni.hideLoading()
					}

				})

			},
			// 获取产品参数
			getAttribute(id, type) {
				this.$api.get({
					url: '/store.product/attribute?id=' + id,
					success: res => {
						res.forEach(a => {

							a.value.forEach(b => {
								b.id = b.key
								if (type) {
									for (let j in this.form.select9) {
										let data = this.form.select9[j]
										for (let i in data) {
											if (a.name == i) {
												if (b.name == data[i]) {
													this.selectList.current9[j] = {
														id: b.key,
														label: b.name,
														name: b.name
													}
												}

											}
										}
									}
								}
							})
						})

						this.getAttributeData = res
					}
				})
			},

			// 按钮
			btns(i) {
				if (i == 'sqpp') { //申请品牌
					uni.navigateTo({
						url: '/pages/m-shop/me/publishProduct/addBrand'
					})
				}
				if (i == 'xjfl') { //分类
					uni.navigateTo({
						url: '/pages/m-shop/me/publishProduct/addClassification'
					})
				}
				if (i == 'xjmb') { //模板
					uni.navigateTo({
						url: '/pages/m-shop/me/publishProduct/addCarriageTemplate'
					})
				}
			},
			// 删除图片
			delectImg(index, type) {
				uni.showModal({
					title: '提示',
					content: '是否要删除该图片',
					success: res => {
						if (res.confirm) {
							if (type == 'img1') {
								this.form.img1 = null
								return
							}
							if (type == 'img2') {
								this.form.img2.splice(index, 1)
								return
							}
							// this.imageList.splice(index, 1);

						}

					}
				});
			},
			//预览图片
			previewImage: function(e) {
				console.log(e)
				uni.previewImage({
					current: e,
					urls: this.imageList
				});
			},
			// 点击输入框 显示选择框
			btnInputSelect(index, key) {

				if (this.selectList.selectIndex != index) {
					this.selectList.input = ''
				}
				this.selectList.selectIndex = index
				if (index == 1 || index == 2) {
					this.getChannelList() //获取类目 子类目
					return
				}
				if (index == 3) {
					this.getbrandList() //获取品牌
					return
				}
				if (index == 4) { // 选择商品规格
					console.log(this.listSxNew, this.listSx);

					let data = `listSxNew=${JSON.stringify(this.listSxNew)}&listSx=${JSON.stringify(this.listSx)}`
					uni.navigateTo({
						url: '/pages/m-shop/me/publishProduct/goodsSpecifications?' + data
					})
					return
				}
				if (index == 5) { //选择商铺中分类
					this.getStoreCate()
					return
				}
				if (index == 6) { //库存计算方式
					this.getStockList()
					return
				}
				if (index == 7) { //运费模板
					this.getFreightList()
					this.selectList.current7.show = true
					return
				}
				if (index == 9) { //类目属性:
					this.getAttributeIndex = key
					this.selectList.mode = 'single-column'
					this.selectList.list = this.getAttributeData[key].value
					this.selectList.show = true
					return
				}


			},
			// 确定选择
			onSelect(arr) {
				console.log(arr);
				let current = arr[0];
				if (this.selectList.selectIndex == 1 || this.selectList.selectIndex == 2) {
					this.form.select1 = current.value;
					this.selectList.current1 = current;
					this.form.select2 = arr[1].value;
					this.selectList.current2 = arr[1];
					this.getAttribute(arr[1].value)
					return
				}

				if (this.selectList.selectIndex == 3) {
					this.form.select3 = current.value;
					this.selectList.current3 = current;
					return
				}
				if (this.selectList.selectIndex == 4) {
					this.form.select4 = current.value;
					this.selectList.current4 = current;
					return
				}
				if (this.selectList.selectIndex == 5) {
					this.form.select5 = current.value;
					this.selectList.current5 = current;
					return
				}
				if (this.selectList.selectIndex == 6) {
					this.form.select6 = current.value;
					this.selectList.current6 = current;
					return
				}
				if (this.selectList.selectIndex == 7) {
					this.form.select7 = current.value;
					this.selectList.current7 = current;
					return
				}
				if (this.selectList.selectIndex == 9) {
					let i = this.getAttributeIndex
					this.form.select9[i] = {
						[this.getAttributeData[i].name]: current.label
					};
					this.selectList.current9[i] = current;
					console.log(this.form.select9);

					return
				}


			},

			//上传图片
			chooseImages(img1, count) {
				uni.chooseImage({
					count: count, //允许选择的数量
					success: res => {
						console.log(res);
						for (let i in res.tempFilePaths) {
							this.myUpload(res.tempFilePaths[i], img1)
						}
						// this.imageList = this.imageList.concat(res.tempFilePaths);
						//console.log(this.imageList)
					}
				})
			},
			// 上传到线上
			myUpload(filePath, type) {
				uni.showLoading({
					title: '上传中...'
				})
				this.$api.upload({
					url: this.uploadurl,
					filePath: filePath,
					name: 'file',
					formData: this.multipart,
				}).then(res => {
					console.log('成功', res);
					uni.hideLoading()
					if (type == 'img1') { // 商品主图
						this.form.img1 = res.url
						return
					}
					if (type == 'img2') { // 商品主图
						this.form.img2.push(res.url)
						return
					}
					if (type == 'img9') { // 富文本图片
						this.editorCtx
							.insertImage({
								src: 'https://img.aibbyp.com//' + res.url,
								alt: '图像',
								success: function() {
									console.log('富文本图片已添加，insert image success')
								}
							})
						return
					}


				}).catch(res => {
					uni.hideLoading()
				})
			},
			// 获取上传限制
			getMultipart() {
				this.$api.get({
					url: '/wanlshop/common/uploadData',
				}).then(res => {
					this.multipart = res.storage == 'local' ? null : res.multipart
					this.uploadurl = res.uploadurl
				})
			},
			// 富文本方法 -------------
			setValue(e) {
				this.form.content = e.detail.html
			},
			removeFormat() {
				this.editorCtx.removeFormat()
			},
			onStatusChange(e) {
				const formats = e.detail
				this.formats = formats
				console.log(e);
			},
			insertDivider() {
				this.editorCtx.insertDivider({
					success: function() {
						console.log('insert divider success')
					}
				})
			},
			clear() {
				uni.showModal({
					title: '清空编辑器',
					content: '确定清空编辑器全部内容？',
					success: res => {
						if (res.confirm) {
							this.editorCtx.clear({
								success: function(res) {
									console.log("clear success")
								}
							})
						}
					}
				})
			},
			insertDate() {
				const date = new Date()
				const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
				this.editorCtx.insertText({
					text: formatDate
				})
			},

			readOnlyChange() {
				this.readOnly = !this.readOnly
			},
			onEditorReady() {
				// #ifdef MP-BAIDU
				this.editorCtx = requireDynamicLib('editorLib').createEditorContext('editor');
				// #endif

				// #ifdef APP-PLUS || MP-WEIXIN || H5
				uni.createSelectorQuery().select('#editor').context((res) => {
					if (res.context) {
						this.editorCtx = res.context;
					}
				}).exec()
				this.$refs.myEditor.blur();
				// #endif
			},
			undo() {
				this.editorCtx.undo()
			},
			redo() {
				this.editorCtx.redo()
			},
			format(e) {
				let {
					name,
					value
				} = e.target.dataset
				if (!name) return
				// console.log('format', name, value)
				this.editorCtx.format(name, value)
			},
			// 富文本方法 -------------
			// 提交信息
			submit() {
				console.log(this.form);
				this.$refs.form1.validate(valid => {
					console.log(valid);
					if (valid) {
						uni.showLoading({
							title: '提交中'
						})
						this.btnLoading = true
						let data = {}
						let spuItem = []
						let sku = []
						this.listSxNew.forEach(a => {
							sku.push(a.name.replace(/\s+/g, ','))
						})
						this.listSx.forEach(a => {
							console.log(a.sonList.map(b => b.name).join(','))
							spuItem.push(a.sonList.map(b => b.name).join(','))
						})
						data.servers_id = this.checkboxData.join(',')
						data.attribute = this.form.select9
						data.is_send = this.form.is_send ? 1 : 0
						data.title = this.form.name //商品名
						data.p_category_id = this.form.select1 //类目id
						data.category_id = this.form.select2 //类目id
						data.brand_id = this.form.select3 //品牌id
						data.sku = sku //数组SKU组合id
						data.spu = this.listSx.map(a => a.name).join(',') //数组SKU组合id
						data.spuItem = spuItem //数组SKU组合id
						data.market_price = this.listSxNew.map(a => a.market_price) //原价
						data.price = this.listSxNew.map(a => a.price) //现价
						data.worker_price = this.listSxNew.map(a => a.worker_price) //工匠价
						data.franchisee_price = this.listSxNew.map(a => a.franchisee_price) //服务商价格
						data.cost_price = this.listSxNew.map(a => a.cost_price) //成本价
						data.stocks = this.listSxNew.map(a => a.stocks) //库存
						data.is_shop_sku = this.listSxNew.map(a => a.is_shop_sku) //是否服务商可购买，0否，1是
						data.thumbnail = this.listSxNew.map(a => a.image) //是否服务商可购买，0否，1是
						data.image = this.form.img1
						data.shop_category_id = this.form.select5 //店铺分类
						data.images = this.form.img2.join(',')
						data.description = this.form.description //描述
						data.stock = this.form.select6 //库存计算方式：porder=下单减库存，payment=付款减库存
						data.freight_id = this.form.select7.join(',') //库存计算方式：porder=下单减库存，payment=付款减库存
						data.transport_price = [this.form.dt, this.form.lt] //电梯楼梯
						this.editorCtx.getContents({
							success: resx => {
								this.form.content = resx.html
								data.content = resx.html
							}
						})
						let url = '/store.product/productAdd'
						if (this.editId) {
							data.id = this.editId
							data.sku_id = this.sku_id
							url = '/store.product/productEdit'
						}
						if (this.editIdCopy) {
							data.pid = this.editIdCopy
						}
						setTimeout(() => {
							console.log('data:', data);
							this.$api.post({
								url: url,
								data: data,
								success: res => {
									uni.hideLoading()
									this.btnLoading = false
									if (res) {
										if (this.editId) {
											uni.showToast({
												title: '修改成功',
												icon: 'none'
											})
											setTimeout(() => {
												let pages =
													getCurrentPages(); //获取所有页面栈实例列表
												let prevPage = pages[pages.length -
													2]; //上一页页面实例
												console.log('-', prevPage);
												let tabCurrentIndex = prevPage.$vm
													.tabCurrentIndex
												prevPage.$vm.navList[tabCurrentIndex]
													.current_page = 1
												prevPage.$vm.navList[tabCurrentIndex]
													.loadingType =
													'more'
												prevPage.$vm.navList[tabCurrentIndex]
													.list = []
												prevPage.$vm.navList[tabCurrentIndex]
													.loaded =
													false
												prevPage.$vm.loadData()
												uni.navigateBack({ //uni.navigateTo跳转的返回，默认1为返回上一级
													delta: 1
												});
												return
											}, 1500)
										} else {
											uni.showModal({
												title: '新增成功',
												cancelText: '返回上页',
												confirmText: '继续新增',
												success: function(res) {
													if (res.confirm) {
														console.log('用户继续新增');
													} else if (res.cancel) {
														uni.navigateBack({
															delta: 1
														})
													}
												}
											})
										}

									}

								},
								fail: error => {
									this.btnLoading = false
								}
							})

						}, 1000)
					} else {
						console.log('验证失败');
					}

				});


			}


		}
	}
</script>

<style lang="scss" scoped>
	.selectInputName {

		::v-deep.u-input__input {
			width: 0 !important;
		}
	}

	.publishProduct {
		width: 100%;

		@keyframes fadeIn {
			to {
				opacity: 1;
			}
		}

		.selectInput {
			width: 100%;
			padding: 0 20rpx;

			.selectInputBox {
				zoom: 0.8;
			}

		}

		.selectInputHidden {
			opacity: 0 !important;
			/* 使用 !important 确保覆盖其他样式 */
			transition: none !important;
			/* 禁用过渡效果 */

		}



		.w100 {
			width: 100%;
		}

		.inputtextarea {
			width: 690rpx;
		}

		.forBox11 {
			.w50 {
				width: 50%;
			}

			.forBox2 {
				padding: 32rpx 28rpx;
				background: #FFFFFF;
				width: 100%;

				.inputsBorder {
					border-radius: 10rpx;
					border: 1rpx solid #BABABA;
					padding: 0 16rpx;
				}

				.h76 {
					height: 72rpx;
					line-height: 72rpx;
				}

				.images {
					width: 60rpx;
					height: 60rpx;
					border-radius: 4rpx;
					border: dashed #ccc 1rpx;
					margin-right: 24rpx;
				}

				.item1Name {
					background: #EAF0FF;
					border-radius: 4rpx 4rpx 4rpx 4rpx;
					padding: 4rpx 16rpx;
				}
			}
		}

		.formBox {
			.formBox1 {
				padding: 32rpx 32rpx;
				background: #fff;
			}

			.formImg {
				padding: 0 32rpx;
			}


			::v-deep.u-form-item--left {
				display: none;
			}

			::v-deep.u-form-item--right__content__slot {
				display: flex !important;
				flex: 1;
			}

			.imgBox {
				width: 100%;
				flex-wrap: wrap;
			}

			.box-mode {
				width: 132rpx;
				height: 132rpx;
			}

			.full {
				width: 100%;
				height: 100%;

			}

			.imgs {
				border-radius: 10rpx;
				border: 1rpx dashed #ccc;
			}



			.show-box {
				position: relative;
				margin-bottom: 6rpx;
				margin-right: 6rpx;
				width: 132rpx;
				height: 132rpx;

				.delect-icon {
					height: 40rpx;
					width: 40rpx;
					position: absolute;
					right: 0rpx;
					top: -6rpx;
					z-index: 1;
				}
			}

			.flexRight {
				display: flex;
				flex-direction: row-reverse;
				margin-top: 16rpx;

				.sqpp {
					font-size: 24rpx;
					color: #FFFFFF;
					background: #3065FA;
					border-radius: 8rpx 8rpx 8rpx 8rpx;
					width: 120rpx;
					height: 38rpx;
					text-align: center;
					line-height: 38rpx;

				}
			}
		}

		.wsn {
			white-space: nowrap
		}

		.w48 {
			width: 48%;
		}

		.w200 {
			width: 200rpx;
		}

		.btnSub {
			padding-bottom: env(safe-area-inset-bottom);
			width: 100vw;
			height: 98rpx;
			position: sticky;
			bottom: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			z-index: 2;

			.btn::after {
				border: none;
			}

			.btn {
				width: 600rpx;
				height: 62rpx;
				background: linear-gradient(264deg, #3065FA 0%, #3065FA 14%, #2D8DF4 99%);
				border-radius: 8rpx 8rpx 8rpx 8rpx;
				font-family: PingFang SC, PingFang SC;
				font-weight: 400;
				font-size: 28rpx;
				color: #FFFFFF;

				button {
					background: linear-gradient(264deg, #3065FA 0%, #3065FA 14%, #2D8DF4 99%);
				}
			}
		}
	}
</style>
<style scoped>
	@font-face {
		font-family: "iconfont";
		src: url('data:font/truetype;charset=utf-8;base64,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AAsAJgFuAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAAAKQ3JlYXRlZCBieSBpY29uZm9udAoAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFIAZQBnAHUAbABhAHIAAFJlZ3VsYXIAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAVmVyc2lvbiAxLjAAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AAEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC4AAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAGh0dHA6Ly9mb250ZWxsby5jb20AAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwAAAAEAAgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkEcmVkbwlzZWxlY3RhbGwHcHJldmlldwR1bmRvBGRhdGUHY2xlYXJ1cBU3MjNiaWFuamlxaV9kdWFuaG91anUWNzIyYmlhbmppcWlfZHVhbnFpYW5qdQotY2hlY2tsaXN0DWRpcmVjdGlvbi1sdHINZGlyZWN0aW9uLXJ0bAtmb250Ymdjb2xvcg1jbGVhcmVkZm9ybWF0BGZvbnQHb3V0ZGVudAhmb250c2l6ZQp0ZXh0X2NvbG9yD2Zvcm1hdC1oZWFkZXItMg9mb3JtYXQtaGVhZGVyLTMLbGluZS1oZWlnaHQPZm9ybWF0LWhlYWRlci0xD2Zvcm1hdC1oZWFkZXItNA9mb3JtYXQtaGVhZGVyLTUPZm9ybWF0LWhlYWRlci02EUNoYXJhY3Rlci1TcGFjaW5nBmluZGVudAZiYW9jdW4IcXVhbnBpbmcFZnV6aGkHc2hhbmNodQxiaWFuamlzZWt1YWkJZmVuZ2V4aWFuB2RpYW56YW4MY2hhcnVsaWFuamllC2NoYXJ1dHVwaWFuCnd1eHVwYWlsaWUManV6aG9uZ2R1aXFpB3lpbnlvbmcLeW91eHVwYWlsaWUIeW91ZHVpcWkJeml0aWRhaW1hCHhpYW9saWFuCXppdGlqaWFjdQ96aXRpc2hhbmNodXhpYW4Neml0aXNoYW5nYmlhbwp6aXRpYmlhb3RpDnppdGl4aWFodWF4aWFuCXppdGl4aWV0aQl6aXRpeWFuc2UIenVvZHVpcWkJeml0aXl1bGFuC3ppdGl4aWFiaWFvC3p1b3lvdWR1aXFpB2R1aWdvdXgGZ3VhbmJpDnNoZW5neWluX3NoaXRpAAAAAAAB//8AAgABAAAADAAAABYAAAACAAEAAwA6AAEABAAAAAIAAAAAAAAAAQAAAADVpCcIAAAAANhk6GIAAAAA2GToYg==') format('truetype');
	}

	.popupFare {
		padding: 30rpx 20rpx;
	}

	.checkboxGroupBox {
		max-height: 500rpx;
		overflow-y: scroll;
		min-height: 200rpx;
	}

	.wrapper {
		/* height: 100%; */
	}

	.ql-container {
		box-sizing: border-box;
		padding: 12px 15px;
		width: 100%;
		min-height: 30vh;
		height: 100%;
		font-size: 16px;
		line-height: 1.5;
	}

	.editor-wrapper {
		border: 2px solid #DDDDDD;
		border-radius: 12rpx;
		// height: calc(100vh - var(--window-top) - var(--status-bar-height) - 140px);
		background: #fff;
	}

	.iconfont {
		display: inline-block;
		padding: 8rpx 8rpx;
		width: 58rpx;
		height: 58rpx;
		cursor: pointer;
		font-size: 20rpx;
	}

	.toolbar {
		box-sizing: border-box;
		border-bottom: 0;
		font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
	}

	.iconfont {
		font-family: "iconfont" !important;
		font-size: 16px;
		font-style: normal;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.icon-redo:before {
		content: "\e627";
	}

	.icon-undo:before {
		content: "\e633";
	}

	.icon-indent:before {
		content: "\eb28";
	}

	.icon-outdent:before {
		content: "\e6e8";
	}

	.icon-fontsize:before {
		content: "\e6fd";
	}

	.icon-format-header-1:before {
		content: "\e860";
	}

	.icon-format-header-4:before {
		content: "\e863";
	}

	.icon-format-header-5:before {
		content: "\e864";
	}

	.icon-format-header-6:before {
		content: "\e865";
	}

	.icon-clearup:before {
		content: "\e64d";
	}

	.icon-preview:before {
		content: "\e631";
	}

	.icon-date:before {
		content: "\e63e";
	}

	.icon-fontbgcolor:before {
		content: "\e678";
	}

	.icon-clearedformat:before {
		content: "\e67e";
	}

	.icon-font:before {
		content: "\e684";
	}

	.icon-723bianjiqi_duanhouju:before {
		content: "\e65f";
	}

	.icon-722bianjiqi_duanqianju:before {
		content: "\e660";
	}

	.icon-text_color:before {
		content: "\e72c";
	}

	.icon-format-header-2:before {
		content: "\e75c";
	}

	.icon-format-header-3:before {
		content: "\e75d";
	}

	.icon--checklist:before {
		content: "\e664";
	}

	.icon-baocun:before {
		content: "\ec09";
	}

	.icon-line-height:before {
		content: "\e7f8";
	}

	.icon-quanping:before {
		content: "\ec13";
	}

	.icon-direction-rtl:before {
		content: "\e66e";
	}

	.icon-direction-ltr:before {
		content: "\e66d";
	}

	.icon-selectall:before {
		content: "\e62b";
	}

	.icon-fuzhi:before {
		content: "\ec7a";
	}

	.icon-shanchu:before {
		content: "\ec7b";
	}

	.icon-bianjisekuai:before {
		content: "\ec7c";
	}

	.icon-fengexian:before {
		content: "\ec7f";
	}

	.icon-dianzan:before {
		content: "\ec80";
	}

	.icon-charulianjie:before {
		content: "\ec81";
	}

	.icon-charutupian:before {
		content: "\ec82";
	}

	.icon-wuxupailie:before {
		content: "\ec83";
	}

	.icon-juzhongduiqi:before {
		content: "\ec84";
	}

	.icon-yinyong:before {
		content: "\ec85";
	}

	.icon-youxupailie:before {
		content: "\ec86";
	}

	.icon-youduiqi:before {
		content: "\ec87";
	}

	.icon-zitidaima:before {
		content: "\ec88";
	}

	.icon-xiaolian:before {
		content: "\ec89";
	}

	.icon-zitijiacu:before {
		content: "\ec8a";
	}

	.icon-zitishanchuxian:before {
		content: "\ec8b";
	}

	.icon-zitishangbiao:before {
		content: "\ec8c";
	}

	.icon-zitibiaoti:before {
		content: "\ec8d";
	}

	.icon-zitixiahuaxian:before {
		content: "\ec8e";
	}

	.icon-zitixieti:before {
		content: "\ec8f";
	}

	.icon-zitiyanse:before {
		content: "\ec90";
	}

	.icon-zuoduiqi:before {
		content: "\ec91";
	}

	.icon-zitiyulan:before {
		content: "\ec92";
	}

	.icon-zitixiabiao:before {
		content: "\ec93";
	}

	.icon-zuoyouduiqi:before {
		content: "\ec94";
	}

	.icon-duigoux:before {
		content: "\ec9e";
	}

	.icon-guanbi:before {
		content: "\eca0";
	}

	.icon-shengyin_shiti:before {
		content: "\eca5";
	}

	.icon-Character-Spacing:before {
		content: "\e964";
	}
</style>